home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib09.dsk / ELECTRIC ABACUS.bas < prev    next >
BASIC Source File  |  2023-02-26  |  6KB  |  248 lines

  1. 1  REM  ******************************
  2. 2  REM  *    ELECTRIC ABACUS         *
  3. 3  REM  *    BY PAUL RAYMER          *
  4. 4  REM  *   COPYRIGHT (C) 1982       *
  5. 5  REM  *   BY MICRO-SPARC INC       *
  6. 6  REM  *   LINCOLN, MA. 01773       *
  7. 7  REM  ******************************
  8. 100  TEXT : HOME : CLEAR 
  9. 110  VTAB 3
  10. 120  PRINT "*************************"
  11. 130  FOR X = 2 TO 10: PRINT "*"; SPC( 23);"*"
  12. 140  NEXT X
  13. 150  PRINT "*************************"
  14. 160  CALL  -384: POKE 34,4: POKE 35,12: POKE 32,2: POKE 33,22: CALL  -936
  15. 170  SPEED= 175
  16. 180  PRINT "   NIBBLE MAGAZINE   "
  17. 190  PRINT "       PRESENTS      "
  18. 200  PRINT "     PAUL RAYMER'S   "
  19. 210  PRINT "                     "
  20. 220  PRINT "                     "
  21. 230  PRINT "                     "
  22. 240  PRINT "                     "
  23. 250  PRINT "   ELECTRIC ABACUS   "
  24. 260  PRINT "                     "
  25. 270  PRINT " COPYRIGHT (C) 1982  "
  26. 300  PRINT " BY MICRO-SPARC INC  "
  27. 330  FOR M = 1 TO 1500: NEXT M: CALL  -380: TEXT : SPEED= 255: CALL  -936
  28. 340  HOME 
  29. 350  REM 
  30. 360  REM  ELECTRIC ABACUS
  31. 370  REM  PAUL RAYMER
  32. 380  REM  POB 42831
  33. 390  REM  LAS VEGAS NV 89116
  34. 400  REM  II/II/MCMLXXXI
  35. 410  REM 
  36. 420  GOTO 680
  37. 430  REM 
  38. 440  REM  INITIALIZE
  39. 450  REM 
  40. 460  COLOR= 15
  41. 470  FOR X = 3 TO 35  STEP 4
  42. 480  VLIN 3,29 AT X
  43. 490  NEXT X
  44. 500  COLOR= 1
  45. 510  HLIN 0,38 AT 1: HLIN 0,38 AT 2: HLIN 0,38 AT 11: HLIN 0,38 AT 12: HLIN 0,38 AT 30: HLIN 0,38 AT 31
  46. 520  VLIN 1,31 AT 0: VLIN 1,31 AT 38
  47. 530  REM 
  48. 540  REM  ADD BEADS
  49. 550  REM 
  50. 560  COLOR= 13
  51. 570  FOR X = 34 TO 2  STEP  -4
  52. 580  FOR Y = 3 TO 6  STEP 3
  53. 590  FOR Z = 16 TO 28  STEP 3
  54. 600  HLIN X,X +2 AT Y
  55. 610  HLIN X,X +2 AT Y +1
  56. 620  HLIN X,X +2 AT Z
  57. 630  HLIN X,X +2 AT Z +1
  58. 640  NEXT Z
  59. 650  NEXT Y
  60. 660  NEXT X
  61. 670  RETURN 
  62. 680  GR 
  63. 690  GOSUB 460
  64. 700  GOSUB 2140
  65. 710  INPUT "ENTER NUMBER ";A$
  66. 720  GOSUB 2230
  67. 730  IF A$ = "C"  THEN A$ = "000000000"
  68. 740 A =  VAL(A$)
  69. 750  FOR I =  LEN(A$) TO 1  STEP  -1
  70. 760 I$(I) =  MID$ (A$,I,1)
  71. 770  NEXT I
  72. 780  GOTO 1810
  73. 790  REM 
  74. 800  REM  MOVE BEADS
  75. 810  REM 
  76. 820  REM  0
  77. 830 F = 9:E = 13
  78. 840  GOSUB 1670
  79. 850  GOSUB 1540
  80. 860  RETURN 
  81. 870  REM 
  82. 880  REM  1
  83. 890  REM 
  84. 900  GOSUB 820
  85. 910 E = 16
  86. 920  GOSUB 1540
  87. 930  RETURN 
  88. 940  REM 
  89. 950  REM  2
  90. 960  REM 
  91. 970  GOSUB 820
  92. 980 E = 19
  93. 990  GOSUB 1540
  94. 1000  RETURN 
  95. 1010  REM 
  96. 1020  REM  3
  97. 1030  REM 
  98. 1040  GOSUB 820
  99. 1050 E = 22
  100. 1060  GOSUB 1540
  101. 1070  RETURN 
  102. 1080  REM 
  103. 1090  REM  4
  104. 1100  REM 
  105. 1110  GOSUB 820
  106. 1120 E = 25
  107. 1130  GOSUB 1540
  108. 1140  RETURN 
  109. 1150  REM 
  110. 1160  REM  5
  111. 1170  REM 
  112. 1180  GOSUB 820
  113. 1190 F = 6
  114. 1200  GOSUB 1670
  115. 1210  RETURN 
  116. 1220  REM 
  117. 1230  REM  6
  118. 1240  REM 
  119. 1250  GOSUB 880
  120. 1260 F = 6
  121. 1270  GOSUB 1670
  122. 1280  RETURN 
  123. 1290  REM 
  124. 1300  REM  7
  125. 1310  REM 
  126. 1320  GOSUB 950
  127. 1330 F = 6
  128. 1340  GOSUB 1670
  129. 1350  RETURN 
  130. 1360  REM 
  131. 1370  REM  8
  132. 1380  REM 
  133. 1390  GOSUB 1020
  134. 1400 F = 6
  135. 1410  GOSUB 1670
  136. 1420  RETURN 
  137. 1430  REM 
  138. 1440  REM  9
  139. 1450  REM 
  140. 1460  GOSUB 1090
  141. 1470 F = 6
  142. 1480  GOSUB 1670
  143. 1490  RETURN 
  144. 1500  REM 
  145. 1510  REM  REBUILD 1 TO 5
  146. 1520  REM  (EARTH)
  147. 1530  REM 
  148. 1540  REM 
  149. 1550  COLOR= 13
  150. 1560  FOR X = 28 TO 13  STEP  -3
  151. 1565  IF X = E  THEN  COLOR= 15: PLOT 3 +H,X: PLOT 3 +H,X +1: COLOR= 0: PLOT 2 +H,X: PLOT 2 +H,X +1: PLOT 4 +H,X: PLOT 4 +H,X +1: COLOR= 13: GOTO 1590
  152. 1570  HLIN 2 +H,4 +H AT X
  153. 1580  HLIN 2 +H,4 +H AT X +1
  154. 1590  NEXT X
  155. 1650  RETURN 
  156. 1660  REM 
  157. 1670  REM  REBUILD 6 TO 9
  158. 1680  REM  (HEAVEN)
  159. 1690  REM 
  160. 1700  COLOR= 13
  161. 1710  FOR X = 3 TO 9  STEP 3
  162. 1715  IF X = F  THEN  COLOR= 15: PLOT 3 +H,X: PLOT 3 +H,X +1: COLOR= 0: PLOT 2 +H,X: PLOT 2 +H,X +1: PLOT 4 +H,X: PLOT 4 +H,X +1: COLOR= 13: GOTO 1740
  163. 1720  HLIN 2 +H,4 +H AT X
  164. 1730  HLIN 2 +H,4 +H AT X +1
  165. 1740  NEXT X
  166. 1800  RETURN 
  167. 1810  HOME 
  168. 1820  PRINT A
  169. 1830 H = 32
  170. 1840  FOR J =  LEN(A$) TO 1  STEP  -1
  171. 1850 R =  VAL(I$(J))
  172. 1860  IF R = 0  THEN  GOSUB 820
  173. 1870  ON R GOSUB 880,950,1020,1090,1160,1230,1300,1370,1440,820
  174. 1880 H = H -4
  175. 1890  NEXT J
  176. 1900 T = A
  177. 1910 F$ = A$
  178. 1920  GOSUB 2140
  179. 1930  PRINT "(A)DD  (S)UBTRACT  (M)ULTIPLY  (D)IVIDE": INPUT "(C)LEAR -- (Q)UIT? ";ANS$
  180. 1940  IF  LEFT$(ANS$,1) = "A"  THEN  GOSUB 2310
  181. 1950  IF  LEFT$(ANS$,1) = "S"  THEN  GOSUB 2390
  182. 1960  IF  LEFT$(ANS$,1) = "M"  THEN  GOSUB 2460
  183. 1970  IF  LEFT$(ANS$,1) = "D"  THEN  GOSUB 2550
  184. 1980  IF  LEFT$(ANS$,1) = "Q"  THEN  END 
  185. 1990  IF  LEFT$(ANS$,1) = "C"  THEN  GOTO 340
  186. 2000  VTAB 22: CALL  -958: INPUT "WHAT NUMBER ? ";B$
  187. 2010 B =  VAL(B$)
  188. 2020  IF  LEFT$(ANS$,1) = "A"  THEN A$ =  STR$(T +B)
  189. 2030  IF  LEFT$(ANS$,1) = "S"  THEN A$ =  STR$(T -B)
  190. 2040  IF  LEFT$(ANS$,1) = "M"  THEN A$ =  STR$(T *B)
  191. 2050  IF  LEFT$(ANS$,1) = "D"  THEN A$ =  STR$( INT(T/B))
  192. 2060  IF  LEN(A$) > =  LEN(F$)  THEN 2090
  193. 2070 A$ = "0" +A$
  194. 2080  GOTO 2060
  195. 2090  GOSUB 2230
  196. 2100  GOTO 740
  197. 2110  REM 
  198. 2120  REM  GRAPHIC SYMBOLS
  199. 2130  REM 
  200. 2140  REM  ENTER
  201. 2150  REM 
  202. 2160  GOSUB 2230
  203. 2170  COLOR= 11
  204. 2180  HLIN 1,5 AT 33: HLIN 3,5 AT 36
  205. 2190  VLIN 34,35 AT 1: VLIN 34,35 AT 5
  206. 2200  PLOT 3,37: PLOT 3,39
  207. 2210  RETURN 
  208. 2220  REM 
  209. 2230  REM  CLEAR BOX
  210. 2240  REM 
  211. 2250  COLOR= 0
  212. 2260  FOR X = 33 TO 39
  213. 2270  HLIN 1,5 AT X
  214. 2280  NEXT X
  215. 2290  RETURN 
  216. 2300  REM  
  217. 2310  REM  PLUS SIGN
  218. 2320  REM 
  219. 2330  GOSUB 2230
  220. 2340  COLOR= 9
  221. 2350  HLIN 1,5 AT 36
  222. 2360  VLIN 33,39 AT 3
  223. 2370  RETURN 
  224. 2380  REM 
  225. 2390  REM  MINUS SIGN
  226. 2400  REM 
  227. 2410  GOSUB 2230
  228. 2420  COLOR= 3
  229. 2430  HLIN 1,5 AT 36
  230. 2440  RETURN 
  231. 2450  REM 
  232. 2460  REM  TIMES SIGN
  233. 2470  REM 
  234. 2480  GOSUB 2230
  235. 2490  COLOR= 7
  236. 2500  PLOT 1,33: PLOT 5,33: PLOT 2,34: PLOT 4,34
  237. 2510  PLOT 3,35: PLOT 3,36: PLOT 3,37
  238. 2520  PLOT 2,38: PLOT 4,38: PLOT 1,39: PLOT 5,39
  239. 2530  RETURN 
  240. 2540  REM 
  241. 2550  REM  DIVIDE SIGN
  242. 2560  REM 
  243. 2570  GOSUB 2230
  244. 2580  REM 
  245. 2590  COLOR= 14
  246. 2600  HLIN 1,5 AT 36
  247. 2610  PLOT 3,34: PLOT 3,38
  248. 2620  RETURN